#include <stdio.h>
#include <string.h>
#include <trap.h>
#include <intr.h>
#include <clock.h>
#include <debug.h>

int kern_init(void) __attribute__((noreturn));

int kern_init(void) {
    // set bss data to 0
    extern char edata[], end[];
    memset(edata, 0, end - edata);

    puts("\n");
    printf("OS is loading ...\n");

    // print_all_registers();
    
    idt_init();
    clock_init();

    intr_enable();

    while (1);
}